import axios from 'axios';

// 直接测试订单列表接口
async function testOrderApi() {
  try {
    console.log('开始测试订单列表接口...');
    
    // 创建axios实例，使用完整URL
    const http = axios.create({
      baseURL: 'http://localhost:5174', // 指向前端开发服务器，它会代理请求到后端
      timeout: 10000,
    });
    
    // 设置token（使用模拟token）
    const token = 'mock-token-for-testing';
    http.defaults.headers.common['Authorization'] = `Bearer ${token}`;
    console.log('已设置Authorization头:', http.defaults.headers.common['Authorization']);
    
    // 构建查询参数
    const queryParams = {
      pageNum: 1,
      pageSize: 10,
      orderStatus: null,
      userId: '1', // 使用默认用户ID
      startTime: null,
      endTime: null,
      orderNo: null
    };
    
    console.log('发送请求参数:', JSON.stringify(queryParams));
    
    // 发送请求
    const response = await http.get('/order/list', { params: queryParams });
    
    console.log('\n=== 完整响应 ===');
    console.log('状态码:', response.status);
    console.log('响应头:', response.headers);
    console.log('响应数据类型:', typeof response.data);
    console.log('\n=== 响应数据结构分析 ===');
    console.log('是否有code字段:', 'code' in response.data);
    console.log('code值:', response.data.code);
    console.log('是否有data字段:', 'data' in response.data);
    console.log('data是否为对象:', response.data.data && typeof response.data.data === 'object');
    
    if (response.data.data) {
      console.log('data中是否有records字段:', 'records' in response.data.data);
      console.log('records是否为数组:', Array.isArray(response.data.data.records));
      console.log('records数量:', response.data.data.records ? response.data.data.records.length : 0);
      console.log('是否有total字段:', 'total' in response.data.data);
      console.log('total值:', response.data.data.total);
    }
    
    console.log('\n=== 原始响应数据 ===');
    console.log(JSON.stringify(response.data, null, 2));
    
    // 如果有订单数据，显示第一条订单详情
    if (response.data.data && response.data.data.records && response.data.data.records.length > 0) {
      console.log('\n=== 第一条订单详情 ===');
      const firstOrder = response.data.data.records[0];
      console.log('订单ID:', firstOrder.id);
      console.log('订单号:', firstOrder.orderNo);
      console.log('订单状态:', firstOrder.orderStatus);
      console.log('订单状态描述:', firstOrder.orderStatusDesc);
      console.log('总价:', firstOrder.totalAmount);
      console.log('创建时间:', firstOrder.createTime);
      console.log('是否有items字段:', 'items' in firstOrder);
      console.log('items类型:', firstOrder.items ? typeof firstOrder.items : 'undefined');
      console.log('items数量:', Array.isArray(firstOrder.items) ? firstOrder.items.length : 0);
    }
    
  } catch (error) {
    console.error('\n=== 请求失败 ===');
    if (error.response) {
      // 服务器返回了错误状态码
      console.error('错误状态码:', error.response.status);
      console.error('错误响应数据:', JSON.stringify(error.response.data, null, 2));
      console.error('错误响应头:', error.response.headers);
    } else if (error.request) {
      // 请求已发送但没有收到响应
      console.error('没有收到响应:', error.request);
      console.error('可能原因: 后端服务未运行或网络问题');
    } else {
      // 其他错误
      console.error('请求配置错误:', error.message);
    }
    console.error('完整错误信息:', error);
  }
}

// 运行测试
testOrderApi();